package list;

public class RemoveDuplicatesFromSortedArray {
    int[] nums = {0, 0, 1, 1, 1, 2, 2, 3, 3, 4};

    public int removeDuplicates() {
        int lenOfList = nums.length;

        // 如果是空数组，则返回0
        if (lenOfList == 0) {
            return 0;
        }

        /*
        从第二位开始遍历，设置俩游标，游标high的值与前一位相同，即无事发生，游标high移动至下一位；
        游标high的值与前一位不同，即出现了新的数值，则游标low记录新的数值，游标low移动至下一位；
        */
        int high = 1;
        int low = 1;
        while (high < lenOfList) {
            if (nums[high] != nums[high - 1]) {
                nums[low] = nums[high];
                low++;
            }
            high++;
        }
        return low;
    }
}
